﻿#ifndef APPSIGNAL_H
#define APPSIGNAL_H

#include <QObject>

class PictureRectItem;
class AppSignal : public QObject
{
    Q_OBJECT
private:
    explicit AppSignal(QObject *parent = nullptr);
    AppSignal(const AppSignal& signal) = delete;
    AppSignal& operator=(const AppSignal& signal) = delete;

public:
    static AppSignal* getInstance();

signals:
    // 添加图片播放
    void sgl_add_new_picture(const QString &path, int index);

    // 添加图形项到屏幕
    void sgl_add_new_graphics_item(int index, PictureRectItem *item);

    // 添加图形项结果
    void sgl_add_new_graphics_item_status(int index, bool status);

    // 鼠标缩放
    void sgl_wheel_graphics_view(float value);

    // 开始截图
    void sgl_save_current_visible_scene();

    // 清理所有图像项
    void sgl_del_all_graphics_item();

    // 关闭选中的图形项
    void sgl_close_slected_graphics_item();

    // 退回图像到列表
    void sgl_revert_graphics_item_to_list(const QString &path, int index);

    // 发送系统短消息
    void sgl_system_output_message(int type, const QString &message);

};

#endif // APPSIGNAL_H
